package sg.edu.nus.iss.phoenix.core.dao;

import sg.edu.nus.iss.phoenix.authenticate.dao.RoleDao;
import sg.edu.nus.iss.phoenix.authenticate.dao.UserDao;
import sg.edu.nus.iss.phoenix.authenticate.dao.impl.RoleDaoImpl;
import sg.edu.nus.iss.phoenix.authenticate.dao.impl.UserDaoImpl;
import sg.edu.nus.iss.phoenix.radioprogram.dao.RadioProgramDAO;
import sg.edu.nus.iss.phoenix.radioprogram.dao.impl.RadioProgramDAOImpl;
import sg.edu.nus.iss.phoenix.schedule.dao.ScheduleDAO;
import sg.edu.nus.iss.phoenix.schedule.dao.impl.ScheduleDAOImpl;

/**
 * @author Teth
 */
public class DAOFactoryImpl implements DAOFactory {
    private UserDao userDAO = new UserDaoImpl();
    private RoleDao roleDAO = new RoleDaoImpl();
    private RadioProgramDAO rpdao = new RadioProgramDAOImpl();
    private ScheduleDAO scheduleDAO = new ScheduleDAOImpl();

    /**
     * get User Dao
     *
     * @return UserDao
     */
    @Override
    public UserDao getUserDAO() {
        // TODO Auto-generated method stub
        return userDAO;
    }

    /**
     * get Role Dao
     *
     * @return RoleDao
     */
    @Override
    public RoleDao getRoleDAO() {
        // TODO Auto-generated method stub
        return roleDAO;
    }

    /**
     * get Schedule Dao
     *
     * @return Schedule Dao
     */
    @Override
    public ScheduleDAO getScheduleDAO() {
        return scheduleDAO;
    }

    /**
     * get Radio Program Dao
     *
     * @return Radio Program Dao
     */
    @Override
    public RadioProgramDAO getRadioProgramDAO() {
        // TODO Auto-generated method stub
        return rpdao;
    }

}
